﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace blackhouse.Payments.Data {
    public interface IPaymentsDataAccess {
        PaymentTypeData GetPaymentType(string paymentKey);
        PaymentTransactionStatusData GetPaymentTransactionStatus(int statusId);
        int SaveNewPaymentTransaction(PaymentTransactionData data);
        PaymentTransactionData FindPaymentTransaction(int posId, string transactionSession);
        PaymentErrorData GetPaymentError(int errorId);
        void AddPaymentTransactionErrorLog(int transactionId, int errorId);
        void AddPaymentTransactionPositiveLog(int transactionId);
        int AddPaymentTransactionLog(int transactionId, PaymentTransactionData data);
        PaymentTransactionData GetPaymentTransaction(int paymentTransactionId);
        void SavePaymentTransaction(int paymentTransactionId, PaymentTransactionData data);
        void SavePaymentTransactionUpdateSnapshot(int paymentTransactionId, string snapshot);
        PaymentTransactionData GetPaymentTransactionByOrderId(int orderId);

    }
}
